package com.hx.setting.utils;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 
 * SHA-1 hash算法
 * 
 * Generate Date : 2014-03-16
 * Generate Version : v3.0
 * Generate Name : Honey v3.1 Test
 * Generate User : THINK
 * JDK Version : 1.5
 */
public class Base64Hash
{

	/** 
	 * SHA1 hash算法
	 * @param text 			文本数据内容（将取其UTF8编码的二进制内容）
	 * @return 				Base64编码后的SHA1 Hash值
	 */
	public static String base64SHA1(String text)
	{
		String result = null;
		try
		{
			result = base64SHA1( text.getBytes( "UTF-8" ) );
		}
		catch ( UnsupportedEncodingException e )
		{
			e.printStackTrace();
		}
		return result;
	}

	/** 
	 * SHA1 hash算法
	 * @param data 			二进制数据内容
	 * @return 				Base64编码后的SHA1 Hash值
	 */
	public static String base64SHA1(byte[] data)
	{
		String result = null;
		try
		{
			MessageDigest md = MessageDigest.getInstance( "SHA-1" );
			md.update( data );
			result = new String( Base64.encode( md.digest() ), "UTF-8" );
		}
		catch ( NoSuchAlgorithmException e )
		{
			e.printStackTrace();
		}
		catch ( UnsupportedEncodingException e )
		{
			e.printStackTrace();
		}
		return result;
	}

	/** 
	 * MD5 hash算法
	 * @param text 			文本数据内容（将取其UTF8编码的二进制内容）
	 * @return 				Base64编码后的MD5 Hash值
	 */
	public static String base64MD5(String text)
	{
		String result = null;
		try
		{
			result = base64MD5( text.getBytes( "UTF-8" ) );
		}
		catch ( UnsupportedEncodingException e )
		{
			e.printStackTrace();
		}
		return result;
	}

	/** 
	 * MD5 hash算法
	 * @param data 			二进制数据内容
	 * @return 				Base64编码后的MD5 Hash值
	 */
	public static String base64MD5(byte[] data)
	{
		String result = null;
		try
		{
			MessageDigest md = MessageDigest.getInstance( "MD5" );
			md.update( data );
			result = new String( Base64.encode( md.digest() ), "iso-8859-1" );
		}
		catch ( NoSuchAlgorithmException e )
		{
			e.printStackTrace();
		}
		catch ( UnsupportedEncodingException e )
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
}
/* Honey v3.1 Test - version:1 - OriginalChecksum:Bdbd79d746ce6c27dbf12ec80665260ac (do not edit this line) */
